<html>
				<head>
				<meta http-equiv="content-type" content="text/html; charset=UTF-8">
				</head>
				<body><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=AIO_CANCEL&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">AIO_CANCEL(2)</a> FreeBSD System Calls Manual <a href="http://www.freebsd.org/cgi/man.cgi?query=AIO_CANCEL&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">AIO_CANCEL(2)</a></pre>
<pre>
<b>名称</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aio_cancel -- 取消一个未完成的异步I/O操作（实时）</pre>
<pre>
<b>库</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Standard C Library (libc, -lc)</pre>
<pre>
<b>概要</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include &lt;<font color="dark">aio.h</font>&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red">int</font> <font color="blue">aio_cancel</font>(<font color="red">int</font> <font color="green">fildes</font>, <font color="red">struct aiocb *</font> <font color="green">iocb</font>);</pre>
<pre>
<b>详述</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>系统调用取消指向<font color="green">fildes</font>文件描述符的未完成的异步I/O操作请求。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果指定了<font color="green">iocb</font>，那么只取消指定的异步I/O请求。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通常I/O请求被取消后会有异步消息通知，并以ECANCELED错误类型退出。</pre>
<pre>
<b>限制</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>系统调用不会取消裸设备（raw disk）的异步I/O请求。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若<font color="green">fildes</font>指向裸设备（raw disk）中的文件，那么<font color=blue>aio_cancel()</font>将返回
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AIO_NOTCANCELED。</pre>
<pre>
<b>返回值</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;执行失败后返回-1，否则返回下列值：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[AIO_CANCELED]		所有符合要求的未完成的异步I/O请求均被取消
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[AIO_NOTCANCELED]	有一些请求没被取消，请用<a href="http://www.freebsd.org/cgi/man.cgi?query=aio_error&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_error(2)</a>检查相关状态
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[AIO_ALLDONE]		所有符合要求的异步I/O请求均已完成</pre>
<pre>
<b>错误</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>失败时将设置errno为下列错误常量：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EBADF]			<font color="green">fildes</font>参数不是有效的文件描述符</pre>
<pre>
<b>参见</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=aio_error&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_error(2)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=aio_read&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_read(2)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=aio_return&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_return(2)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=aio_suspend&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_suspend(2)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=aio_write&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio_write(2)</a>,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=aio&sektion=4&apropos=0&manpath=FreeBSD+6.1-RELEASE">aio(4)</a></pre>
<pre>
<b>标准</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>系统调用应当遵循IEEE Std 1003.1 (``POSIX.1'')标准。</pre>
<pre>
<b>历史</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>系统调用首次出现于FreeBSD 3.0。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>aio_cancel()</font>系统调用的实用功能于FreeBSD 4.0首次实现。</pre>
<pre>
<b>作者</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该页手册起初由Wes Peters &lt;wes@softweyr.com&gt;编写，
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当FreeBSD 4.0实现了该系统调用功能后，
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Christopher M Sedore &lt;cmsedore@maxwell.syr.edu&gt;更新了本页内容。</pre>
</pre>
</body></html>